package com.tiger.transaction.service.impl;
import java.util.Arrays;
import java.util.List;

import com.tiger.common.utils.DateUtils;
import com.tiger.transaction.domain.ProposalInfo;
import com.tiger.transaction.mapper.ProposalInfoMapper;
import com.tiger.transaction.service.IProposalInfoService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;


/**
 * 【意见建议】Service业务层处理
 *
 * @author standard
 * @date 2022-09-20
 */
@Service
public class ProposalInfoServiceImpl implements IProposalInfoService {
    @Autowired
    private ProposalInfoMapper proposalInfoMapper;

    /**
     * 查询【意见建议】
     *
     * @param id 【意见建议】主键
     * @return 【意见建议】
     */
    @Override
    public ProposalInfo selectProposalInfoById(Long id) {
        ProposalInfo proposalInfo = proposalInfoMapper.selectProposalInfoById(id);
        if (StringUtils.isNotEmpty(proposalInfo.getPicAddress()))
            proposalInfo.setPicAddressList(Arrays.asList(proposalInfo.getPicAddress().split(",")));

        return proposalInfo;
    }

    /**
     * 查询【意见建议】列表
     *
     * @param proposalInfo 【意见建议】
     * @return 【意见建议】
     */
    @Override
    public List<ProposalInfo> selectProposalInfoList(ProposalInfo proposalInfo) {
        return proposalInfoMapper.selectProposalInfoList(proposalInfo);
    }

    /**
     * 新增【意见建议】
     *
     * @param proposalInfo 【意见建议】
     * @return 结果
     */
    @Override
    public int insertProposalInfo(ProposalInfo proposalInfo) {
        proposalInfo.setIsDeleted(0L);
        proposalInfo.setState(1L);
        proposalInfo.setCreatedAt(DateUtils.getNowDate());
        return proposalInfoMapper.insertProposalInfo(proposalInfo);
    }

    /**
     * 修改【意见建议】
     *
     * @param proposalInfo 【意见建议】
     * @return 结果
     */
    @Override
    public int updateProposalInfo(ProposalInfo proposalInfo) {
        proposalInfo.setUpdatedAt(DateUtils.getNowDate());
        return proposalInfoMapper.updateProposalInfo(proposalInfo);
    }

    /**
     * 批量删除【意见建议】
     *
     * @param ids 需要删除的【意见建议】主键
     * @return 结果
     */
    @Override
    public int deleteProposalInfoByIds(Long[] ids) {
        return proposalInfoMapper.deleteProposalInfoByIds(ids);
    }

    /**
     * 删除【意见建议】信息
     *
     * @param id 【意见建议】主键
     * @return 结果
     */
    @Override
    public int deleteProposalInfoById(Long id) {
        return proposalInfoMapper.deleteProposalInfoById(id);
    }

}
